from matplotlib import pyplot as plt
import numpy as np

x_list_01 = ["Jack Chen", "Steffen Zhou", "Jenny", "Anchor", "Dragon"]
y_list_01 = ["12.3", "45.6", "65.4", "23.5", "36.5"]
y_list_02 = ["22.3", "55.6", "75.4", "33.5", "46.5"]
plt.figure(figsize=(20, 15), dpi=80)
y_list_01 = [float(i) for i in y_list_01]
y_list_02 = [float(i) for i in y_list_02]
x_length = np.arange(len(x_list_01))
rects_01 = plt.bar(x_length, y_list_01, width=0.3)

rects_02 = plt.bar(x_length + 0.3, y_list_02, width=0.3)

# Set x-axis format
plt.xticks(x_length + 0.3 / 2, x_list_01)
# Set y-axis format
plt.yticks(range(0, 81, 5), range(0, 81, 5))
# Add text on every bar
for rect in rects_01:
    height = rect.get_height()
    # add text
    plt.text(rect.get_x() + rect.get_width() / 2, height + 0.3, str(height), ha="center")
for rect in rects_02:
    height = rect.get_height()
    # add text
    plt.text(rect.get_x() + rect.get_width() / 2, height + 0.3, str(height), ha="center")
plt.show()